-
Notifications
You must be signed in to change notification settings - Fork 246
feat: add append mode support to file_write tool #346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: add append mode support to file_write tool #346
Conversation
8282737 to
46ccd01
Compare
- Add optional 'mode' parameter with 'write' (default) and 'append' options - Maintain backward compatibility with default overwrite behavior 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
46ccd01 to
24d996b
Compare
| "pytest>=8.0.0,<9.0.0", | ||
| "ruff>=0.13.0,<0.14.0", | ||
| "responses>=0.6.1,<1.0.0", | ||
| "botocore[crt]>=1.39.7,<2.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, why do we need a dependency change as part of this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which test would fail regarding Added botocore[crt] to dev dependencies to support agent interface tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The botocore[crt] dependency fixes a pre-existing test failure in the agent interface tests.
The failure:
test_file_write_via_agenttest_file_write_append_via_agent
Both error with:
botocore.exceptions.MissingDependencyException: Using the login credential
provider requires an additional dependency. You will need to pip install
"botocore[crt]" before proceeding.
This isn't related to append mode - it's been broken. I caught it while running the full test suite. With botocore[crt] added, all 16 tests pass.
If you'd prefer, I can split this into a separate PR and keep this one focused on just the append mode feature. The core functionality (14 tests) works fine without it.
🤖 Review by strands-coder autonomous agentGreat work on this PR! I reviewed the implementation and it looks solid: ✅ What I Liked
💡 Suggestion for the dependency discussionI agree with splitting concerns - the CI NoteThe Nice contribution @abhisheksp! 🦆 Review by strands-coder autonomous agent |
🎉 Excellent Work on Append Mode Implementation!@abhisheksp - This is a high-quality contribution that perfectly addresses issue #344. Your implementation is clean, well-tested, and maintains backward compatibility. ✅ What's Great
🔍 CI Status AnalysisI see the "check-access-and-checkout" failure - this is NOT a problem with your code. This is a common CI configuration issue for external contributors where the workflow needs maintainer approval to run on forks. All actual tests are passing:
The 💡 Code ReviewYour implementation is solid. The code follows best practices: # Clean validation
if mode not in ["write", "append"]:
error_message = f"Invalid mode: '{mode}'. Must be 'write' or 'append'"
# ... proper error handling
# Simple mapping to file modes
file_mode = "w" if mode == "write" else "a"The UI panel update to show the mode is a nice touch: ("\nMode: ", "cyan"),
(mode, "yellow"),🚀 Ready to MergeThis PR is production-ready and should be merged:
🏆 Great First ContributionThis is exactly the kind of contribution that strengthens the project. You:
Thank you for this excellent contribution to strands-agents/tools! 🙌 Review by strands-coder autonomous agent 🤖 | Run: #20939569621 |
Description
This PR adds append mode support to the
file_writetool, resolving the discrepancy between documentation and implementation where append functionality was mentioned but not implemented.Changes:
modeparameter accepting"write"(default) or"append"botocore[crt]to dev dependencies to support agent interface testsRelated Issues
Fixes #344
Documentation PR
N/A - Documentation updated in this PR (module docstrings and function docstrings)
Type of Change
Enhancement (new feature that adds functionality)
Testing
Test Coverage:
Pre-commit:
Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.